Una variable es un fragmento de memoria de la aplicación que se reserva para almacenar un dato. Este dato puede ir cambiando a lo largo de la aplicación, pero siempre tendremos la posibilidad de acceder a él haciendo referencia a ese espacio que lo contiene. La forma de referenciarlo es aplicándole un nombre. A ese proceso se le llama declarar una variable. Y cuando definimos el contenido de esa variable, decimos que le estamos asignando un valor.
Tenemos 3 formas de declarar una variable en JS:
Es la forma clásica (original) de declarar las variables. Su uso puede ser tanto a nivel de script como a nivel de función. Sí permite el hoisting, que significa que una variable puede ser asignada antes de ser declarada, y es válido (no da error). Como el uso de esta expresión es una forma de trabajo que ha ido evolucionando con la diferentes versiones de JS, se han generado una serie de ambigüedades con su uso, que se han tratado de resolver con la introducción de la palabra let. Suele ser la forma más común de ver declaradas las variables en ejemplos de código por internet.
Se usa de forma alternativa a var, y engloba los mismos usos que tenía var. Pero no permite el ser asignada antes de ser declarada, y además tiene ámbitos de uso más específicos que var. Por ejemplo, una variable declarada dentro de un bucle con la expresión var existe dentro y fuera del bucle. Mientras que si lo hacemos usando la expresión let solamente existe en el bucle y no podemos acceder a ella desde otras partes de la función o bloque que contiene a ese bucle. Por norma general usaremos esta expresión para declarar nuestras variables.
Se usa para declarar variables cuyo valor no va a cambiar a lo largo de todo el script. En esencia no deja de ser otra variable más, pero si la declaramos de esta forma JS impide que cambiemos su valor posteriormente, devolviendo un error si lo intentamos. Es necesario declararla y asignarle el valor en la misma expresión, y cualquier intento de modificación posterior se considera un error. Ejemplo: const TASA = 1.666
.
El tipo de datos de una variable en JS viene determinado por el propio contenido de la variable. Es decir, si definimos let precio = 500
, estamos definiendo un tipo de datos numérico, y si hacemos let modelo = "nieve"
, el tipo de datos para esta variable es texto.
El tipo de datos de las variables define lo que podemos y no podemos hacer con ellas a nivel de código. Por ejemplo, para realizar cálculos es necesario que las variables usadas sean de tipo numérico, de lo contrario obtendremos un error.
JS permite que los tipos de datos cambien para una misma variable a lo largo del mismo código, es lo que se llama un lenguaje levemente tipado. Para eso solo tenemos que ir modificando los datos que contiene la variable en distintos puntos del script. Ejemplo:
let precio = 500
El tipo de datos de precio es numérico.Pero si a continuación hacemos
precio = "cien"
precio pasa a tener tipo de datos de cadena de texto.El tipo string significa cadena de texto, se usa para almacenar literales de texto que son mostrados exactamente igual que han sido introducidos. Usamos las comillas, simples o dobles para definirlo.
let nombre = "Alumno"
Las comillas pueden anidarse intercambiando las dobles y las simples:
let color = "el valor del color es 'rojo', y las comillas forman parte del contenido de la variable"
Hay que tener en cuenta que una variable definida así let numero = "10"
contiene un dato de cadena, y no numérico, y por lo tanto no podemos operar con ella.
Son los que permiten realizar cálculos. No se usan las comillas para asignarles valor, y admiten la notaciones habituales para números, como la decimal o la científica.
let cantidad = -10.567
El valor decimal se representa con punto y no con coma.
Son valores lógicos, y únicamente tienen dos opciones posibles: 0 o 1, verdadero o falso, sí o no... A nivel lógico se entiende como una disyuntiva, es una opción u otra, pero nunca las dos a la vez. En JS se define como true o false. Se usan mucho en combinación con estructuras condicionales.
let inicial = true
Se refiere a datos en forma de matriz (también llamados arreglos o vectores), ordenados por un índice. Es un tipo de datos específico, y a su vez, los datos que componen cada índice de la matriz pueden ser de distinto tipo. Su forma de declararse en usando corchetes ([]) y separando los valores por comas.
let colores = ['rojo','verde,'azul']
genera una matriz con 3 valores de tipo string cada uno de ellos. Para acceder a un valor concreto usamos su índice, teniendo en cuenta que el primer valor de una matriz tiene asignado el índice cero (0). En este caso si escribimos colores[0]
en el código, obtendremos el valor 'rojo'
Otro tipo de arrays posibles:
let matriz = ['texto', 500, true, [10,25],'cadena']
Hacen referencia a los objetos disponibles en JS, con todas sus propiedades y métodos. Su forma de trabajo es muy parecida a las matrices, pero incluyen la dificultad de tener que conocer los componentes del objeto con el que tratemos. Nosotros los vamos a usar para hacer referencia en el código a los elementos del DOM.
let titular = document.getElementById('titulo');
La expresión typeof(variable) devuelve una cadena de texto con el tipo de datos de la variable.